package com.lxmes.hr.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.lxmes.common.annotation.Excel;
import com.lxmes.common.core.domain.BaseEntity;

/**
 * 薪酬基数设置对象 nc_wages_account
 *
 * @author 张志煜
 * @date 2022-11-25
 */
public class NcWagesAccount extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long id;

    /** 公司代码 */
    @Excel(name = "公司代码")
    private String factoryCode;

    /** 公司名称 */
    @Excel(name = "公司名称")
    private String factoryName;

    /** 姓名 */
    @Excel(name = "姓名")
    private String waName;

    /** 工号 */
    @Excel(name = "工号")
    private String jobNum;

    /** 部门 */
    @Excel(name = "部门")
    private String department;

    /** 分部 */
    @Excel(name = "分部")
    private String division;

    /** 组别 */
    @Excel(name = "组别")
    private String waGroup;

    /** 岗位 */
    @Excel(name = "岗位")
    private String post;

    /** 入职时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "入职时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date entryTime;

    /** 工龄 */
    @Excel(name = "工龄")
    private String workAge;

    /** 当前年月 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date currentYm;

    /** 实到天数 */
    private BigDecimal actualDayNum;

    /** 休班天数 */
    private BigDecimal restDayNum;

    /** 请假/天数 */
    private BigDecimal leaveDayNum;

    /** 新到/离职差勤天数 */
    private BigDecimal departureChaDayNum;

    private Double attendCalBase;

    /** 本月应出勤天数 */
    private BigDecimal ycqDayNum;

    /** 节假日出勤小时 */
    private BigDecimal jjryqHours;

    /** 拖班/加班小时 */
    private BigDecimal workOvertime;

    /** 拖班抵休班天数 */
    private BigDecimal tbdxDayNum;

    /** 抵完休/假班后的拖班小时 */
    private BigDecimal dxwTime;

    /** 加班/差勤 */
    private String jbType;

    /** 是否计算加班 */
    @Excel(name = "是否计算加班")
    private String isJsjb;

    /** 高温/取暖 */
    @Excel(name = "高温/取暖")
    private String qnType;



    /** 保险情况 */
    @Excel(name = "保险情况")
    private String insurSituation;

    /** 岗位分类 */
    @Excel(name = "岗位分类")
    private String gwClassification;

    /** 计酬方式 */
    @Excel(name = "计酬方式")
    private String jcWay;


    /** 是否转正 */
    @Excel(name = "是否转正")
    private String isFormal;

    /** 基本工资 */
    @Excel(name = "基本工资")
    private BigDecimal baseWages;

    /** 岗位责任工资 */
    @Excel(name = "岗位工资")
    private BigDecimal zrgwWages;

    /** 绩效工资 */
    @Excel(name = "绩效工资")
    private BigDecimal jxWages;

   /** 小时工资 */
    @Excel(name = "小时工资")
    private BigDecimal hourMoney;
   /** 小时工资 */
    @Excel(name = "周末加班工资")
    private BigDecimal zmjbMoney;
   /** 小时工资 */
    @Excel(name = "节假日加班工资")
    private BigDecimal holidayMoney;

    /** 交通补贴 */
    @Excel(name = "交通补贴")
    private BigDecimal jtbt;

    /** 通讯补贴 */
    @Excel(name = "通讯补贴")
    private BigDecimal txbt;

    /** 工资合计 */
    private BigDecimal wagesTotal;

    /** 应发基本工资 */
    private BigDecimal yfBasicWages;

    /** 应发岗位责任工资 */
    private BigDecimal yfGwzrWages;

    /** 应发加班工资 */
    private BigDecimal yfJbWages;

    /** 应发计件工资 */
    private BigDecimal yfJjWages;

    /** 应发交通补贴 */
    private BigDecimal yfJtWages;

    /** 应发通讯补贴 */
    private BigDecimal yfTxWages;

    /** 全勤奖 */
    @Excel(name = "全勤奖")
    private BigDecimal qqj;

    /** 学历补贴 */
    @Excel(name = "学历补贴")
    private BigDecimal xlbt;

    /** 星级奖励 */
    @Excel(name = "星级奖励")
    private BigDecimal xjjl;

    /** 其他补贴 */
    @Excel(name = "其他补贴")
    private BigDecimal otherBt;

    /** 高温/取暖补贴 */
    @Excel(name = "高温/取暖补贴")
    private BigDecimal gwbt;

    /** 特殊补贴 */
    @Excel(name = "特殊补贴")
    private BigDecimal specialBt;

    /** 餐卡 */
    @Excel(name = "餐卡")
    private BigDecimal ck;

    /** 餐补 */
    private BigDecimal cb;

    /** 工作服等 */
    private String gzf;

    /** 应发工资合计 */
    private BigDecimal yfWagesTotal;

    @Excel(name = "保险类型")
    private String bxType;

    /** 保险 */
    @Excel(name = "保险")
    private BigDecimal insurance;


    @Excel(name = "公积金类型")
    private String gjjType;

    /** 住房公积金 */
    @Excel(name = "住房公积金")
    private BigDecimal zfgjj;

    /** 个税 */
    private BigDecimal grsds;

    /** 已发放 */
    private BigDecimal yff;

    /** 工作服等扣款 */
    private BigDecimal gzfkk;

    /** 其他扣款 */
    private BigDecimal otherKk;

    /** 考核罚没款 */
    private BigDecimal khfmj;

    /** 奖励工资 */
    private BigDecimal reward;

    /** 实发工资合计 */
    private BigDecimal actualWagesTotal;

    /** 工资卡号 */
    @Excel(name = "工资卡号")
    private String waCardNum;

    /** 开户银行 */
    @Excel(name = "开户银行")
    private String openBank;

    /** 人员信息 */
    private String userInfo;


    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setFactoryCode(String factoryCode)
    {
        this.factoryCode = factoryCode;
    }

    public String getFactoryCode()
    {
        return factoryCode;
    }
    public void setFactoryName(String factoryName)
    {
        this.factoryName = factoryName;
    }

    public String getFactoryName()
    {
        return factoryName;
    }
    public void setWaName(String waName)
    {
        this.waName = waName;
    }

    public String getWaName()
    {
        return waName;
    }
    public void setJobNum(String jobNum)
    {
        this.jobNum = jobNum;
    }

    public String getJobNum()
    {
        return jobNum;
    }
    public void setDepartment(String department)
    {
        this.department = department;
    }

    public String getDepartment()
    {
        return department;
    }
    public void setDivision(String division)
    {
        this.division = division;
    }

    public String getDivision()
    {
        return division;
    }
    public void setWaGroup(String waGroup)
    {
        this.waGroup = waGroup;
    }

    public String getWaGroup()
    {
        return waGroup;
    }
    public void setPost(String post)
    {
        this.post = post;
    }

    public String getPost()
    {
        return post;
    }
    public void setCurrentYm(Date currentYm)
    {
        this.currentYm = currentYm;
    }

    public Date getCurrentYm()
    {
        return currentYm;
    }
    public void setActualDayNum(BigDecimal actualDayNum)
    {
        this.actualDayNum = actualDayNum;
    }

    public BigDecimal getActualDayNum()
    {
        return actualDayNum;
    }
    public void setRestDayNum(BigDecimal restDayNum)
    {
        this.restDayNum = restDayNum;
    }

    public BigDecimal getRestDayNum()
    {
        return restDayNum;
    }
    public void setLeaveDayNum(BigDecimal leaveDayNum)
    {
        this.leaveDayNum = leaveDayNum;
    }

    public BigDecimal getLeaveDayNum()
    {
        return leaveDayNum;
    }
    public void setDepartureChaDayNum(BigDecimal departureChaDayNum)
    {
        this.departureChaDayNum = departureChaDayNum;
    }

    public BigDecimal getDepartureChaDayNum()
    {
        return departureChaDayNum;
    }
    public void setYcqDayNum(BigDecimal ycqDayNum)
    {
        this.ycqDayNum = ycqDayNum;
    }

    public BigDecimal getYcqDayNum()
    {
        return ycqDayNum;
    }
    public void setJjryqHours(BigDecimal jjryqHours)
    {
        this.jjryqHours = jjryqHours;
    }

    public BigDecimal getJjryqHours()
    {
        return jjryqHours;
    }
    public void setWorkOvertime(BigDecimal workOvertime)
    {
        this.workOvertime = workOvertime;
    }

    public BigDecimal getWorkOvertime()
    {
        return workOvertime;
    }
    public void setTbdxDayNum(BigDecimal tbdxDayNum)
    {
        this.tbdxDayNum = tbdxDayNum;
    }

    public BigDecimal getTbdxDayNum()
    {
        return tbdxDayNum;
    }
    public void setDxwTime(BigDecimal dxwTime)
    {
        this.dxwTime = dxwTime;
    }

    public BigDecimal getDxwTime()
    {
        return dxwTime;
    }
    public void setJbType(String jbType)
    {
        this.jbType = jbType;
    }

    public String getJbType()
    {
        return jbType;
    }
    public void setIsJsjb(String isJsjb)
    {
        this.isJsjb = isJsjb;
    }

    public String getIsJsjb()
    {
        return isJsjb;
    }
    public void setQnType(String qnType)
    {
        this.qnType = qnType;
    }

    public String getQnType()
    {
        return qnType;
    }
    public void setEntryTime(Date entryTime)
    {
        this.entryTime = entryTime;
    }

    public Date getEntryTime()
    {
        return entryTime;
    }
    public void setWorkAge(String workAge)
    {
        this.workAge = workAge;
    }

    public String getWorkAge()
    {
        return workAge;
    }
    public void setInsurSituation(String insurSituation)
    {
        this.insurSituation = insurSituation;
    }

    public String getInsurSituation()
    {
        return insurSituation;
    }
    public void setGwClassification(String gwClassification)
    {
        this.gwClassification = gwClassification;
    }

    public String getGwClassification()
    {
        return gwClassification;
    }
    public void setIsFormal(String isFormal)
    {
        this.isFormal = isFormal;
    }

    public String getIsFormal()
    {
        return isFormal;
    }
    public void setBaseWages(BigDecimal baseWages)
    {
        this.baseWages = baseWages;
    }

    public BigDecimal getBaseWages()
    {
        return baseWages;
    }
    public void setZrgwWages(BigDecimal zrgwWages)
    {
        this.zrgwWages = zrgwWages;
    }

    public BigDecimal getZrgwWages()
    {
        return zrgwWages;
    }
    public void setJtbt(BigDecimal jtbt)
    {
        this.jtbt = jtbt;
    }

    public BigDecimal getJtbt()
    {
        return jtbt;
    }
    public void setTxbt(BigDecimal txbt)
    {
        this.txbt = txbt;
    }

    public BigDecimal getTxbt()
    {
        return txbt;
    }
    public void setWagesTotal(BigDecimal wagesTotal)
    {
        this.wagesTotal = wagesTotal;
    }

    public BigDecimal getWagesTotal()
    {
        return wagesTotal;
    }
    public void setYfBasicWages(BigDecimal yfBasicWages)
    {
        this.yfBasicWages = yfBasicWages;
    }

    public BigDecimal getYfBasicWages()
    {
        return yfBasicWages;
    }
    public void setYfGwzrWages(BigDecimal yfGwzrWages)
    {
        this.yfGwzrWages = yfGwzrWages;
    }

    public BigDecimal getYfGwzrWages()
    {
        return yfGwzrWages;
    }
    public void setYfJbWages(BigDecimal yfJbWages)
    {
        this.yfJbWages = yfJbWages;
    }

    public BigDecimal getYfJbWages()
    {
        return yfJbWages;
    }
    public void setYfJjWages(BigDecimal yfJjWages)
    {
        this.yfJjWages = yfJjWages;
    }

    public BigDecimal getYfJjWages()
    {
        return yfJjWages;
    }
    public void setYfJtWages(BigDecimal yfJtWages)
    {
        this.yfJtWages = yfJtWages;
    }

    public BigDecimal getYfJtWages()
    {
        return yfJtWages;
    }
    public void setYfTxWages(BigDecimal yfTxWages)
    {
        this.yfTxWages = yfTxWages;
    }

    public BigDecimal getYfTxWages()
    {
        return yfTxWages;
    }
    public void setQqj(BigDecimal qqj)
    {
        this.qqj = qqj;
    }

    public BigDecimal getQqj()
    {
        return qqj;
    }
    public void setXlbt(BigDecimal xlbt)
    {
        this.xlbt = xlbt;
    }

    public BigDecimal getXlbt()
    {
        return xlbt;
    }
    public void setXjjl(BigDecimal xjjl)
    {
        this.xjjl = xjjl;
    }

    public BigDecimal getXjjl()
    {
        return xjjl;
    }
    public void setOtherBt(BigDecimal otherBt)
    {
        this.otherBt = otherBt;
    }

    public BigDecimal getOtherBt()
    {
        return otherBt;
    }
    public void setGwbt(BigDecimal gwbt)
    {
        this.gwbt = gwbt;
    }

    public BigDecimal getGwbt()
    {
        return gwbt;
    }
    public void setSpecialBt(BigDecimal specialBt)
    {
        this.specialBt = specialBt;
    }

    public BigDecimal getSpecialBt()
    {
        return specialBt;
    }
    public void setCk(BigDecimal ck)
    {
        this.ck = ck;
    }

    public BigDecimal getCk()
    {
        return ck;
    }
    public void setCb(BigDecimal cb)
    {
        this.cb = cb;
    }

    public BigDecimal getCb()
    {
        return cb;
    }
    public void setGzf(String gzf)
    {
        this.gzf = gzf;
    }

    public String getGzf()
    {
        return gzf;
    }
    public void setYfWagesTotal(BigDecimal yfWagesTotal)
    {
        this.yfWagesTotal = yfWagesTotal;
    }

    public BigDecimal getYfWagesTotal()
    {
        return yfWagesTotal;
    }
    public void setInsurance(BigDecimal insurance)
    {
        this.insurance = insurance;
    }

    public BigDecimal getInsurance()
    {
        return insurance;
    }
    public void setZfgjj(BigDecimal zfgjj)
    {
        this.zfgjj = zfgjj;
    }

    public BigDecimal getZfgjj()
    {
        return zfgjj;
    }
    public void setGrsds(BigDecimal grsds)
    {
        this.grsds = grsds;
    }

    public BigDecimal getGrsds()
    {
        return grsds;
    }
    public void setYff(BigDecimal yff)
    {
        this.yff = yff;
    }

    public BigDecimal getYff()
    {
        return yff;
    }
    public void setGzfkk(BigDecimal gzfkk)
    {
        this.gzfkk = gzfkk;
    }

    public BigDecimal getGzfkk()
    {
        return gzfkk;
    }
    public void setOtherKk(BigDecimal otherKk)
    {
        this.otherKk = otherKk;
    }

    public BigDecimal getOtherKk()
    {
        return otherKk;
    }
    public void setKhfmj(BigDecimal khfmj)
    {
        this.khfmj = khfmj;
    }

    public BigDecimal getKhfmj()
    {
        return khfmj;
    }
    public void setReward(BigDecimal reward)
    {
        this.reward = reward;
    }

    public BigDecimal getReward()
    {
        return reward;
    }
    public void setActualWagesTotal(BigDecimal actualWagesTotal)
    {
        this.actualWagesTotal = actualWagesTotal;
    }

    public BigDecimal getActualWagesTotal()
    {
        return actualWagesTotal;
    }
    public void setWaCardNum(String waCardNum)
    {
        this.waCardNum = waCardNum;
    }

    public String getWaCardNum()
    {
        return waCardNum;
    }
    public void setOpenBank(String openBank)
    {
        this.openBank = openBank;
    }

    public String getOpenBank()
    {
        return openBank;
    }
    public void setUserInfo(String userInfo)
    {
        this.userInfo = userInfo;
    }

    public String getUserInfo()
    {
        return userInfo;
    }

    public BigDecimal getJxWages() {
        return jxWages;
    }

    public void setJxWages(BigDecimal jxWages) {
        this.jxWages = jxWages;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("factoryCode", getFactoryCode())
            .append("factoryName", getFactoryName())
            .append("waName", getWaName())
            .append("jobNum", getJobNum())
            .append("department", getDepartment())
            .append("division", getDivision())
            .append("waGroup", getWaGroup())
            .append("post", getPost())
            .append("currentYm", getCurrentYm())
            .append("actualDayNum", getActualDayNum())
            .append("restDayNum", getRestDayNum())
            .append("leaveDayNum", getLeaveDayNum())
            .append("departureChaDayNum", getDepartureChaDayNum())
            .append("ycqDayNum", getYcqDayNum())
            .append("jjryqHours", getJjryqHours())
            .append("workOvertime", getWorkOvertime())
            .append("tbdxDayNum", getTbdxDayNum())
            .append("dxwTime", getDxwTime())
            .append("jbType", getJbType())
            .append("isJsjb", getIsJsjb())
            .append("qnType", getQnType())
            .append("entryTime", getEntryTime())
            .append("workAge", getWorkAge())
            .append("insurSituation", getInsurSituation())
            .append("gwClassification", getGwClassification())
            .append("isFormal", getIsFormal())
            .append("baseWages", getBaseWages())
            .append("zrgwWages", getZrgwWages())
            .append("jtbt", getJtbt())
            .append("txbt", getTxbt())
            .append("wagesTotal", getWagesTotal())
            .append("yfBasicWages", getYfBasicWages())
            .append("yfGwzrWages", getYfGwzrWages())
            .append("yfJbWages", getYfJbWages())
            .append("yfJjWages", getYfJjWages())
            .append("yfJtWages", getYfJtWages())
            .append("yfTxWages", getYfTxWages())
            .append("qqj", getQqj())
            .append("xlbt", getXlbt())
            .append("xjjl", getXjjl())
            .append("otherBt", getOtherBt())
            .append("gwbt", getGwbt())
            .append("specialBt", getSpecialBt())
            .append("ck", getCk())
            .append("cb", getCb())
            .append("gzf", getGzf())
            .append("yfWagesTotal", getYfWagesTotal())
            .append("insurance", getInsurance())
            .append("zfgjj", getZfgjj())
            .append("grsds", getGrsds())
            .append("yff", getYff())
            .append("gzfkk", getGzfkk())
            .append("otherKk", getOtherKk())
            .append("khfmj", getKhfmj())
            .append("reward", getReward())
            .append("actualWagesTotal", getActualWagesTotal())
            .append("remark", getRemark())
            .append("waCardNum", getWaCardNum())
            .append("openBank", getOpenBank())
            .append("userInfo", getUserInfo())
            .toString();
    }

    public Double getAttendCalBase() {
        return attendCalBase;
    }

    public void setAttendCalBase(Double attendCalBase) {
        this.attendCalBase = attendCalBase;
    }

    public String getJcWay() {
        return jcWay;
    }

    public void setJcWay(String jcWay) {
        this.jcWay = jcWay;
    }

    public String getBxType() {
        return bxType;
    }

    public void setBxType(String bxType) {
        this.bxType = bxType;
    }

    public String getGjjType() {
        return gjjType;
    }

    public void setGjjType(String gjjType) {
        this.gjjType = gjjType;
    }

    public BigDecimal getHourMoney() {
        return hourMoney;
    }

    public void setHourMoney(BigDecimal hourMoney) {
        this.hourMoney = hourMoney;
    }

    public BigDecimal getZmjbMoney() {
        return zmjbMoney;
    }

    public void setZmjbMoney(BigDecimal zmjbMoney) {
        this.zmjbMoney = zmjbMoney;
    }

    public BigDecimal getHolidayMoney() {
        return holidayMoney;
    }

    public void setHolidayMoney(BigDecimal holidayMoney) {
        this.holidayMoney = holidayMoney;
    }
}
